#include "ShareSMemory.hpp"
#include "Time.hpp"
#include "Comm.hpp"
#include <iostream>

int main()
{
    // 获取key
    ssm.GetKey();

    // 创建共享内存
    ssm.CreateSMemory();

    // 共享内存挂接到自己的地址空间中
    ssm.AttachSMemory();

    fifo.OpenPipeRead(); // 读端打开

    // 通信
    struct data *strinfo = (struct data *)ssm.GetAddr();
    while (true)
    {
        fifo.Wait(); // 等待写端写入
        printf("状态: %s\n", strinfo->status);
        printf("时间: %s\n", strinfo->lasttime);
        printf("消息: %s\n", strinfo->message);
        strcpy(strinfo->status, "过期"); // 读取消息后将消息设为过期
        std::cout << "————————————————————————————\n";
        sleep(1);
    }

    // 去挂接
    ssm.DetachSMemory();

    // 删除共享内存
    ssm.DeleteSMemory();

    return 0;
}